package org.shiwen.week6;

import java.util.Scanner;

public class StudentV4 {
    //前面几个版本的Student都有个问题，我们的showInfo方法是以sout的形式打印出学生的信息，并没有返回一个具体的学生信息给程序
    //但是学生的信息可能被其他程序需要，因此，我们需要将信息返回给调用者，为此调用学生信息的方法称为getter方法

    private String name;
    private int age;
    private String gender;
    private String ID;

    public StudentV4(String name, int age, String gender, String ID) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.ID = ID;
    }
    public StudentV4() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }
    //还记得一开始的问题吗，如果年龄为负数，则不应该赋值给属性，因此，我们需要对属性进行判断，如果年龄小于0，则不赋值给属性
    public void setAge(int age) {
        while (age < 16 || age > 60) {
            System.out.println("请正确的输入年龄");
            Scanner sc = new Scanner(System.in);
            age = sc.nextInt();
        }
        this.age = age;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }
}
